The continual performance improvements of computer systems has led to a number of complex applications (modelling for mechanical and electrical design, simulation, large data-base search, etc.) that require significant computer-user interaction. It is clear that the lack of efficiency of this interaction creates a bottleneck that limits productivity. The heavy use of graphics, menus and "point-and-pick" devices such as the mouse and the digitizing tablet have helped speed-up many applications and attract new users that would be intimidated by lengthy panel selection and complicated commands.
From simple traversing of a menu tree to three-dimensional geometric modelers, computer interfaces can be improved by using more sophisticated, ergonomically designed mechanical input devices with several degrees of freedom and with some degree of programmability. See, for example, T. Williams, "Input Technologies Extend The Scope Of User Involvement", Computer Design (March, 1988). Two relevant examples are the Felix input device, from Lightgate Corp., Emeryville, Calif. and the Spaceball input device, from Spatial Systems, Milsons Point, NSW, Australia.
The Felix input device has a handle that can slide about on a 1 in.sup.2 surface that maps the entire display area for absolute X-Y positioning. The edges of the handle's motion range correspond to the display margins. Two of these edges contain "hot-spots" or "corners" that can be felt by the user. The edges and hot-spots correspond to range correspond to the display margins. Two of these edges contain "hot-spots" or "corners" that can be felt by the user. The edges and hot-spots correspond to kinesthetically stable places that, by appropriate programming, can be made to correspond to frequently used menu commands or macros. Users of the Felix device could operate it without lifting their hands off the desk.
The Spaceball input device is a spongy knob, the size of a tennis ball, attached to a six degree-of-freedom force-torque sensor. According to its developers, the Spaceball's novelty is its programmability, that is, the ability to switch off a translation or rotation axis by software control. This allows for isometric device emulation (for example, "rate-control" mouse emulation, by allowing only inputs that correspond to translational motion in the plane) and is useful in solid modelers for constrained rigid body motion.
Mechanical devices equipped with actuators can also act as output devices that provide kinesthetic feedback to the user. However, there are difficulties with designing and building multi-degree-of-freedom, actuated, back-driveable, I/O devices. Indeed, when more than three degrees of freedom are required, such I/O devices begin to look very much like conventional robots, that is, serial kinematic linkages with several actuated moving parts. They are plagued by the same problems--anisotropic and high inertias, friction and low-bandwidth frequency response. Force-reflecting input-output device design has been a long-standing problem in the area of teleoperation of robotic devices--a survey can be found in Vertut et al., Robot Technology, 3A: Teleoperations and Robotics: Evolution and Development, Prentice-Hall Series on Robot Technology, Prentice-Hall (1986).
A fairly complete classification of input devices from a computer scientist's point of view can be found in Ouhyoung et al., "Using A Manipulator For Force Display In Molecular Docking", Proc. IEEE Robotics and Automation Conf. 3:1824-1829 (1988). A good compilation of user "wish-lists" and devices designed to cope with them can be found in T. Williams, "Input Technologies Extend The Scope Of User Involvement", Computer Design (March, 1988).
Recently, a new technology was invented which provides a key component for a new general purpose computer input device: a novel robot fine motion "wrist" having six degrees of freedom over a limited motion range (.+-.4 mm translation, .+-.5.degree. rotation from a nominal center position). This technology is described in commonly assigned U.S. Pat. No. 4,874,998, issued Oct. 17, 1989 to R. L. Hollis. The wrist has a single moving part called a "flotor" that is actively levitated by the parallel action of multiple electrodynamic (moving coil) actuators. The translational and rotational offsets between the wrist's magnetically levitated (maglev) flotor and its support (referred to as the "stator") are obtained by means of an optical sensing system and are used in a feedback law to control the actuators. The feedback or control law is implemented on a dedicated microprocessor. By altering its software parameters, the stiffness of the wrist's flotor for translations along or rotations about arbitrary axes can be varied by program control, allowing it to emulate various mechanisms, such as linear or planar sliders and gimbals. Laboratory tests of the "feel" of the mechanisms emulated or "synthesized" have been very successful, due to the low mass of the flotor, its high-bandwidth frequency response (tracking bandwidth of over 35 Hz for translation and 15 Hz for rotation), and the lack of any friction. The robot fine motion wrist is further discussed in the Hollis '998 patent and in Hollis et al., Robotics Research 4:65-73, MIT Press.
The following I/O device characteristics have been found to be desirable:
good ergonomic design PA1 the availability of kinesthetically stable locations for menu selection and frequently used commands PA1 the ability to switch the device from absolute to relative positioning PA1 the ability to move intuitively in three-dimensional space PA1 the ability to select and turn off axes PA1 several actuated degrees of freedom to provide kinesthetic feedback by force and "stiffness" control for multiple parameter adjustment and rigid body motion in a force field or with constraints (for molecular "docking", geometric modelling, flight simulation).
No single computer input device known to the inventors, either in the literature or in the marketplace, currently satisfies this set of conditions.
The present invention was developed with a view toward providing the above-listed desirable characteristics in an I/O computer interface device. As will be described in detail below, this invention combines existing technologies in a new way to create a computer interface I/O device that is capable of emulating a variety of known mechanical I/O devices.
The present invention overcomes the deficiencies and problems associated with the conventional technology and achieves the desired characteristics of an I/O device described above.